package com.example.zzl.view.fragment.ShareOrderFragment.disan;
//                            _ooOoo_  
//                           o8888888o  
//                           88" . "88  
//                           (| -_- |)  
//                            O\ = /O  
//                        ____/`---'\____  
//                      .   ' \\| |// `.  
//                       / \\||| : |||// \  
//                     / _||||| -:- |||||- \  
//                       | | \\\ - /// | |  
//                     | \_| ''\---/'' | |  
//                      \ .-\__ `-` ___/-. /  
//                   ___`. .' /--.--\ `. . __  
//                ."" '< `.___\_<|>_/___.' >'"".  
//               | | : `- \`.;`\ _ /`;.`/ - ` : | |  
//                 \ \ `-. \_ __\ /__ _/ .-` / /  
//         ======`-.____`-.___\_____/___.-`____.-'======  
//                            `=---='  
//  
//         .............................................  
//                  佛祖镇楼                  BUG辟易  
//          佛曰:  
//                  写字楼里写字间，写字间里程序员；  
//                  程序人员写程序，又拿程序换酒钱。  
//                  酒醒只在网上坐，酒醉还来网下眠；  
//                  酒醉酒醒日复日，网上网下年复年。  
//                  但愿老死电脑间，不愿鞠躬老板前；  
//                  奔驰宝马贵者趣，公交自行程序员。  
//                  别人笑我忒疯癫，我笑自己命太贱；  
//                  不见满街漂亮妹，哪个归得程序员？  

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import okhttp3.ResponseBody;

/**
 * 作者：flylx by 2016/11/8
 * 公司：北京千锋互联科技有限公司
 * 注释说明：
 * 网络请求工具类
 */

public class HttpUtils {
    private static OkHttpClient client;
    static {
        client=new OkHttpClient();
    }
    //获取指定路径的图片
    public static Bitmap getBitMap(String url)
    {
        //创建请求对象
        Request request=new Request.Builder().url(url).build();
//        //创建客户端对象
//        OkHttpClient client=new OkHttpClient();
        //获取响应对象
        try {
            Response response=client.newCall(request).execute();
            //验证是否成功
            if(response.isSuccessful())
            {
                //获取响应的结果
                byte[] data=response.body().bytes();
                //将结果转换为BitMap对象
                return BitmapFactory.decodeByteArray(data,0,data.length);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return  null;
    }
    //获取资源的内容
    public static byte[] getRes(String path)
    {
        HttpURLConnection huc=null;
        BufferedInputStream bis=null;
        //1、创建URL对象
        try {
            URL url=new URL(path);
            //2、获取连接对象
            huc=(HttpURLConnection) url.openConnection();
            //3、设置信息
            huc.setConnectTimeout(3000);
            //4、连接
            huc.connect();
            //5、获取状态响应码
            if(huc.getResponseCode()==200)
            {
                //6、获取服务器响应内容
                bis=new BufferedInputStream(huc.getInputStream());
                ByteArrayOutputStream baos=new ByteArrayOutputStream();
                byte[] data=new byte[1024];
                int len;
                while (true)
                {
                    len=bis.read(data);
                    if(len==-1)
                    {
                        break;
                    }else {
                        baos.write(data,0,len);
                    }
                }
                return  baos.toByteArray();
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            //7、关闭
            if(bis!=null)
            {
                try {
                    bis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if(huc!=null)
            {
                huc.disconnect();
            }
        }
        return null;
    }
    private static ResponseBody getbytes(Boolean ishander, String url)
    {
        Request.Builder builder=new Request.Builder().url(url);
//        if(ishander)
//        {
//            builder.addHeader("apikey","5a2b9f28bfe1ff4efddefa37bf9bf4b1");
//        }
        try {
            Response response=client.newCall(builder.build()).execute();
            if(response.isSuccessful()){
                return response.body();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }
    public static byte[] getResource(String url)
    {
        ResponseBody rb=getbytes(false,url);
        if(rb!=null)
        {
            try {
                return rb.bytes();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
    //获取网络中字符串
    public static String getJSON(boolean ishander,String path){
        ResponseBody rb=getbytes(ishander,path);
        if(rb!=null)
        {
            try {
//                Log.e("RRRRRR",rb.string());
                return rb.string();

            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return  null;
    }
}
